1517A - Sum of 2050 - CodeForces Solution


greedy math *800

Please click on ads to support us..

Python Code:

for ii in range(int(input())):
    n=int(input())
    c=0
    if(n<2050):
        None
    else:
        while len(str(n))>=4:
            x=2050*(10**(len(str(n))-4))
            if(n>=x):
                                n-=x
            else:
                                x=int(x/10)
                                n-=x
            c+=1
    if(n==0):
        print(c)
    else:
        print(-1)

C++ Code:

#include <bits/stdc++.h>
using namespace std;

#define ll long long

void solve(){
    ll cur=2050;
    vector <ll> nums;
    ll n;
    cin >> n;
    if (n%2050>0){
        cout << -1 << endl;
        return ;
    }
    while(cur<=n){
        nums.push_back(cur);
        cur*=10;
    }
    reverse(nums.begin(),nums.end());
    int kol=0;
    for (int i =0; i<nums.size(); i++){
        while (n>=nums[i]){
            n-=nums[i];
            kol++;
        }
    }
    if (kol==0) cout << -1<< endl;
    else cout <<kol<< endl;


    return;
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int64_t t;cin >> t;while (t--){solve();}
    

    return 0;
}


Comments

Submit
0 Comments
More Questions

519A - A and B and Chess
725B - Food on the Plane
154B - Colliders
127B - Canvas Frames
107B - Basketball Team
245A - System Administrator
698A - Vacations
1216B - Shooting
368B - Sereja and Suffixes
1665C - Tree Infection
1665D - GCD Guess
29A - Spit Problem
1097B - Petr and a Combination Lock
92A - Chips
1665B - Array Cloning Technique
1665A - GCD vs LCM
118D - Caesar's Legions
1598A - Computer Game
1605A - AM Deviation
1461A - String Generation
1585B - Array Eversion
1661C - Water the Trees
1459A - Red-Blue Shuffle
1661B - Getting Zero
1661A - Array Balancing
1649B - Game of Ball Passing
572A - Arrays
1455A - Strange Functions
1566B - MIN-MEX Cut
678C - Joty and Chocolate